Інформатика

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІТРЕ
Факультет:
УІ
Кафедра:
Радіоелектроніки та електронної техніки (РЕПС)

Інформація про роботу

Рік:
2024
Тип роботи:
Лабораторна робота
Предмет:
Інформатика та обчислювальна техніка
Варіант:
8

Частина тексту файла

1.ПОСТАНОВКА ЗАДАЧІ. Cпочатку ініціалізуємо графічний режим. Утворюємо вікно за допомогою SetViewPort. Вираховуємо масштаб маючи границі для функції та аргумента. Враховуємо яким повинен бути масштаб – логарифмічний чи рівномірний. Для визначення логарифму скористаємося функцією – function lgn(x:real):real; begin if x<0 then begin lgn:=ln(abs(x));end else lgn:=ln(abs(x)) end; Для утворення графіка потрібно з’єднати лініями всі значення функції та аргумента на координатній площині.Кожну точку з’єднумо з наступною лінією. Для цього використовуємо цикл. Утворюємо вісь абсцис та ординат, а також сітку. 2.РОЗРОБКА СТРУКТУРИ ДАНИХ. №п(п Позначення Ім’я( Тип Призначення, опис  1  gd,gm, patpatpatpathtodriver  gd,gm, patpatpatpathtodriver - Змінні необхідні для реалізації графічного режиму  2 s1,s2,s3,s4,s5,s6 s1,s2,s3,s4 ціла Необхідні для утворення сітки  3 х1,х2,х3,х4 w1,w2,w3,w4 ціла Координати вікна  4 Z, Z3 z ціла Значення функції, вихідна визначає нулі х,у  5 і і ціла Слугує для утворення сітки і графіка  6 x1,y1,x2,y2 x1,y1,x2,y2 ціла Значення х та у між якими проводиться лінія  7 Ymin,Ymax z1,z2 дійсна Межі «у» в яких Буде виводитись графік  8 С1,С2  - дійсна Діапазон значень   8 Xmin,Xmax b,a дійсна Межі «x» в яких Буде виводитись графік  9 D d дійсна крок   3.РОЗРОБКА БЛОК-СХЕМИ АЛГОРИТМУ.   4.Запис тексту програми. program Project1;uses graph,keyboard; var b,a,d:real; gd,gm:smallint; s1,s2,s3,s4,s5,s6,h1,h2, w1,w2,w3,w4, z3,z,n,i, x1,y1,x2,y2 :integer; c,c1,my,mx,z1,z2:real; patpatpatpathtodriver:string; function y(x:real):real; begin y:=exp(-x)*sin(8*x)+1; end; function lgn(x:real):real; begin if x<0 then begin lgn:=-ln(abs(x)+1); end else lgn:=ln(abs(x)+1) end; begin a:=0.1;d:=0.01;b:=2.1;{znahsennja x}z1:=0;z2:=3;{mashtab}w1:=10;w2:=100;w3:=200;w4:=200;{koord vikna} h1:=round((w3-w1)/20){sitka goruzontalna};h2:=round((w4-w2)/6){sitka vertukalna}; n:=round((b-a)/(d)+1); if (z2-z1>=abs(z1)) and (z2-z1>=abs(z2))then c:=abs(lgn(z2))+abs(lgn(z1)) else c:=abs(lgn(z2)-lgn(z1)); my:=(w4-w2)/c; if (z1>=0) and (z2>0) then z3:=w4-w2+round(lgn(z1)*my); if (z1<0) and (z2<=0) then z3:=round(lgn(z2)*my); if (z1<0) and (z2>0) then z3:=round((w4-w2)* lgn(z2)/c); if (b-a>=abs(a)) and (b-a>=abs(b))then c1:=abs(lgn(b))+abs(lgn(a)) else c1:=abs(lgn(b)-lgn(a)); mx:=(w3-w1)/c1; if (a>=0) and (b>0) then z:=-round(lgn(a)*mx); if (a<0) and (b<=0) then z:=w3-w1+round(lgn(b)*mx); if (a<0) and (b>0) then z:=w3-w1+round((w3-w1)*lgn(b)/c1); x2:=z+round(lgn(a)*mx); y2:=z3-round(lgn(y(a))*mx); x2:=z+round(lgn(a)*mx); y2:=z3-round(lgn(y(a))*my); s1:=z; s2:=z3; s3:=z+round(lgn(a)*mx);s4:=z+round(lgn(b)*mx); s5:=z3-round(lgn(z1)*my);s6:=z3-round(lgn(z2)*my);{dlja sitku} begin gd:=0;initkeyboard;initkeyboard;initgraph(gd,gm,''); SetViewPort(w1, w2, w3,w4,ClipOn ); setbkcolor(8);clearviewport; setcolor(6); for i:=1 to 200 do begin line(s3,s2+h1*i,s4,s2+h1*i); line(s3,s2-h1*i,s4,s2-h1*i); end; for i:=1 to 200 do begin line(s1+h2*i,s5,s1+h2*i,s6); line(s1-h2*i,s5,s1-h2*i,s6); end; setcolor(4); line(s1,s5, s1,s6);line(s3,s2,s4,s2); setcolor(3); for i:=1 to n do begin {delaje liniji} x1:=z+round(a*mx); y1:=z3-round(lgn(y(a))*my); a:=a+d; x2:=z+round(a*mx); y2:=z3-round(lgn(y(a))*my); line(x1,y1,x2,y2);end; repeat until keyboard.getkeyeventchar(keyboard.getkeyevent())='g'; closegraph(); donekeyboard; end;end. 5.ТЕСТУВАННЯ ТА НАЛАГОДЖЕННЯ.  Висновок: я навчився створювати програми які будують графіки. Ознайомився з оператиром SetViewPort ознайомився з видами масштабу рівномірним та логарифмічним, кольора задані для того щоб відрізнити графік від сітки, вісі абсцис та ординат. Міністерство освіти і науки україни НУ «Львівсь...
Антиботан аватар за замовчуванням

05.05.2014 22:05

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини